fn main() {
    test01_tradition();
    test02_rustful();
}
fn test01_tradition() {
    use s3_state_pattern::tradition::Post;
    let mut post = Post::new();

    post.add_text("I ate a salad for lunch today");
    assert_eq!("", post.content());

    post.request_review();
    assert_eq!("", post.content());

    post.approve();
    assert_eq!("I ate a salad for lunch today", post.content());

    post.reject();
    assert_eq!("I ate a salad for lunch today", post.content());
}
fn test02_rustful() {
    use s3_state_pattern::rustful::*;

    let mut post = Post::new();
    post.add_text("I ate a salad for lunch today");

    let mut post = post.request_review();

    let mut post = post.approve();

    assert_eq!("I ate a salad for lunch today", post.content());
}
